<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Bootstrap rating</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <!-- Bootstrap core CSS -->
    <link href="bower_components/bootstrap/dist/css/bootstrap.css" rel="stylesheet">
    <!-- Font Awesome CSS -->
    <link href="bower_components/fontawesome/css/font-awesome.css" rel="stylesheet">
    <!-- Custom CSS -->
    <link href="bootstrap-rating.css" rel="stylesheet">
    <style>
        .custom-heart {
            font-size: 2.5em;
            color: red;
        }
    </style>
</head>
<body>
<div class="survey-builder container">
    <h2>Bootstrap rating</h2>
    <hr/>
    <h3>Default rating</h3>
    <input type="hidden" class="rating"/>
    <h3>Half rating</h3>
    <input type="hidden" class="rating" data-fractions="2"/>
    <h3>Disabled rating</h3>
    <input type="hidden" class="rating" disabled="disabled"/>
    <h3>Readonly rating with a value</h3>
    <input type="hidden" class="rating" data-readonly value="3"/>
    <h3>Readonly rating with a fractional value</h3>
    <input type="hidden" class="rating" data-readonly value="2.5"/>
    <h3>Customized heart rating</h3>
    <input type="hidden" class="rating" data-filled="glyphicon glyphicon-heart custom-heart"
           data-empty="glyphicon glyphicon-heart-empty custom-heart"/>
    <h3>Only fill selected</h3>
    <input type="hidden" class="rating" data-filled="glyphicon glyphicon-heart-empty" data-filled-selected="glyphicon glyphicon-heart"
           data-empty="glyphicon glyphicon-heart-empty"/>
    <h3>Handle events</h3>
    <input type="hidden" class="rating check" data-filled="glyphicon glyphicon-check" data-empty="glyphicon glyphicon-unchecked"/>
    <h3>Programmatically set/get rate</h3>
    <input type="hidden" class="rating-tooltip" id="programmatically-rating">
    <input type="number" id="programmatically-value">
    <button type="button" id="programmatically-set">Set value</button>
    <button type="button" id="programmatically-get">Get value</button>
    <h3>Customize tooltips</h3>
    <input type="hidden" class="rating-tooltip"/>
    <h3>Set stop rate to 10 [1..10]</h3>
    <input type="hidden" class="rating-tooltip" data-stop="10"/>
    <h3>Set start rate to 5 [6..10]</h3>
    <input type="hidden" class="rating-tooltip" data-start="5"/>
    <h3>Set start and stop rate [2..10]</h3>
    <input type="hidden" class="rating-tooltip" data-start="1" data-stop="10"/>
    <h3>Set start and stop rate [2..10] with step 2</h3>
    <input type="hidden" class="rating-tooltip" data-stop="10" data-step="2"/>
    <h3>Set start and stop rate [-2..-10] with step -2</h3>
    <input type="hidden" class="rating-tooltip" data-stop="-10" data-step="-2"/>
    <h3>Font Awesome icons</h3>
    <input type="hidden" class="rating-tooltip" data-filled="fa fa-bell fa-3x" data-empty="fa fa-bell-o fa-3x"/>
    <h3>Fractional rating</h3>
    <input type="hidden" class="rating-tooltip-manual" data-filled="fa fa-star fa-3x" data-empty="fa fa-star-o fa-3x" data-fractions="3"/>
    <h3>Fractional right-to-left rating</h3>
    <div dir="rtl">
        <input type="hidden" class="rating-tooltip-manual" data-filled="fa fa-star fa-3x" data-empty="fa fa-star-o fa-3x" data-fractions="3"/>
    </div>
    <h3>Custom CSS icons</h3>
    <input type="hidden" class="rating" data-filled="symbol symbol-filled" data-empty="symbol symbol-empty" data-fractions="2"/>
</div>
<script type="text/javascript" src="bower_components/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="bower_components/bootstrap/js/tooltip.js"></script>
<script type="text/javascript" src="bootstrap-rating.js"></script>
<script>
    $(function () {
        $('input.check').on('change', function () {
            alert('Rating: ' + $(this).val());
        });
        $('#programmatically-set').click(function () {
            $('#programmatically-rating').rating('rate', $('#programmatically-value').val());
        });
        $('#programmatically-get').click(function () {
            alert($('#programmatically-rating').rating('rate'));
        });
        $('.rating-tooltip').rating({
            extendSymbol: function (rate) {
                $(this).tooltip({
                    container: 'body',
                    placement: 'bottom',
                    title: 'Rate ' + rate
                });
            }
        });
        $('.rating-tooltip-manual').rating({
            extendSymbol: function () {
                var title;
                $(this).tooltip({
                    container: 'body',
                    placement: 'bottom',
                    trigger: 'manual',
                    title: function () {
                        return title;
                    }
                });
                $(this).on('rating.rateenter', function (e, rate) {
                    title = rate;
                    $(this).tooltip('show');
                })
                    .on('rating.rateleave', function () {
                        $(this).tooltip('hide');
                    });
            }
        });
        $('.rating').each(function () {
            $('<span class="label label-default"></span>')
                .text($(this).val() || ' ')
                .insertAfter(this);
        });
        $('.rating').on('change', function () {
            $(this).next('.label').text($(this).val());
        });
    });
</script>
</body>
</html>
